﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Sispe.Entities;
using Sispe.BussinesLogic;
using Microsoft.Practices.Unity;

namespace Sispe.UI
{
    public partial class FrmMenu : Form
    {
        [Dependency]
        public IUsuarioMenuBL usuMenuBL { get; set; }

        [Dependency]
        public IContratoBL contratoBL { get; set; }

        [Dependency]
        public IUsuarioBL usuarioBL { get; set; }

        [Dependency]
        public ILiquidacionBL liquidacionBL { get; set; }

        [Dependency]
        public IHojaDeRecorridoBL hojaBL { get; set; }

        public FrmMenu()
        {
            InitializeComponent();
            this.BuildUp();
            this.FormClosed += FrmMenu_FormClosed;
        }

        private void FrmMenu_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
        {
            Application.Exit();
        }

        public USUARIO currentUsuario { get; set; }
        public int IdUsuario;
        public string dni;


        private void FrmMenu_Load_1(object sender, EventArgs e)
        {
            //var usuario = usuMenuBL.GetAllUsuarioMenu(IdUsuario);
            if (currentUsuario != null)
            {
                menuLlena();
                Text = "BIENVENIDO: " + currentUsuario.TRABAJADOR.PERSONA.NombreCompleto;
                UsuarioMenu();
                
            }
            //else
               //mostrarVencimeintos();
        }

        private void UsuarioMenu()
        {
            var usuarioMenu = usuMenuBL.ListaGetAllUsuarioMenuByDniPersona(dni);

            var lleno = contratoBL.GetFromContratosPorVencer();

            foreach (var item in usuarioMenu)
            {
                if (lleno.Count > 0)
                {
                    if (item.MENU.Tag == 20000)
                    {
                        mostrarVencimeintos();
                    }

                    if (item.MENU.Tag == 30000)
                    {
                        mostrarLiquidaciones();
                    }

                    if (item.MENU.Tag == 40000)
                    {
                        mostrarLiquidacionesObrero();
                    }
                }
            }
        }

        public void menuLlena()
        {
            var datoUsuario = usuMenuBL.GetAllFromUsuarioByPersonaFromLogin(currentUsuario.TRABAJADOR.PERSONA.Dni);

            var permisos = (from p in usuMenuBL.GetAllUsuarioMenu(datoUsuario.IdUsuario)
                            select p.MENU.Tag.ToString()).ToArray();

            Telerik.WinControls.RadItem[] menuRibon = new Telerik.WinControls.RadItem[]{
            this.tabTrabajadores,this.barPersRegistradas,this.busPersonRegistrada,this.regiPersonRegistrada,this.busTrabCargo,this.barPostulante,this.busPostulante,this.regPostulante,
            this.tabClientes,this.Cliente,this.busCliente,this.regCliente,
            this.tabProyectos,this.proyecto,this.busProyecto,this.regProecto,this.ubicacionProyecto,this.busUbicacionProyecto,this.regUbicacionProyecto,this.areaContacto,this.busAreaContacto,this.regAreaContacto,
            this.tabContratos,this.contrato,this.busContrato,this.regContrato,this.contratoObrero,this.busContratoObrero,this.contratoStaff,this.busContratoStaff,
            this.tabTRegistro,this.tRegistro,this.busTRegistro,this.tabDereHabientes,this.tabDereHabientes,this.busDHabinete,
            this.tabHistActualizaciones,this.actualizaciones,this.busActualizacion,
            this.tabLiquidacion,this.liquidacion,this.busLiquidacion,this.regLiquidacion,this.areaLiquidacion,this.busAreaLiquidacion,this.regAreaLiquidacion,
            this.tabVacaciones,this.busVacaciones,this.regVacaciones,this.tipoGestion,this.busTipoGestion,this.regTipoGestion,
            this.tabAdministrar,this.usuario,this.busUsuario,this.regUsuario,this.rol,this.busRol,this.regRol,
            this.tabMantenimientoCeyca,this.lineaTelefonica,this.busLineTelefonica,this.regLineaTelefonica,this.DSustenta,this.busDSustenta,this.regDSustenta,
            this.documento,this.busDocumento,this.regDocumento,this.tipoSocio,this.busTipoSocio,this.regTipoSocio,
            this.TSancion,this.busTSancion,this.regTSancion,
            this.tabMantenimientoTRegistroTrabajador,this.RPAfp,this.busRPAfp,this.regRPAfp,this.estudios,this.busEstudios,this.regEstudios,
            this.VFamiliar,this.busVFamiliar,this.regVfamiliar,this.ubigeo,this.busUbigeo,this.regUbigeo,this.sociedades,this.busSociedades,this.regSociedades,
            this.banco,this.busBanco,this.regBanco,this.rural,this.busRural,this.regRural,this.ubicacion,this.busUbicacion,this.regUbicacion,this.padre,this.busPadre,this.regPadre,
            this.grado,this.busGrado,this.regGrado,this.estadoCivil,this.busECivil,this.regECivil,this.sexo,this.busSexo,this.regSexo,
            this.capacitacion,this.busCapacitacion,this.regCapacitacion,
            this.tabMantenimientoTRegistroContrato,this.especialidades,this.busEspecialidades,this.regEspecialidades,this.categoria,this.busCategoria,this.regCategoria,
            this.ocupacion,this.busOcupacion,this.regOcupacion,this.tContrato,this.busTContrato,this.regTContrato,this.rLaboral,this.busRLaboral,this.regRLaboral,
            this.pPago,this.busPPAgo,this.regPPago,this.tTrabajador,this.busTTrabajador,this.regTTrabajador,this.tPago,this.busTPago,this.regTPago,
            this.busTPersonal,this.busTPersonal,this.regTPersonal,this.MFPeriodo,this.busMFPeriodo,this.regMFPeriodo,this.RSalud,this.busRSalud,this.regRSalud,
            this.busTPermiso,this.busTPermiso,this.regTPermiso,this.areaContrato,this.busAreaContrato,this.regAreaContrato};

            var noVisible = from nv in menuRibon
                            where !permisos.Contains(nv.Tag.ToString())
                            select nv;

            noVisible.ToList().ForEach(nv => nv.Visibility = Telerik.WinControls.ElementVisibility.Collapsed);
        }

        private void busPersonRegistrada_Click(object sender, EventArgs e)
        {
            FrmTrabajador frm = new FrmTrabajador();
            frm.currentUsuarioTrabajador = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regiPersonRegistrada_Click(object sender, EventArgs e)
        {
            FrmMttoTrabajador frm = new FrmMttoTrabajador();
            frm.NuevoTrabajador();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busPersonPostulante_Click(object sender, EventArgs e)
        {
            FrmPostulante frmpostulante = new FrmPostulante();
            frmpostulante.currentUsuarioPostulante = currentUsuario;
            frmpostulante.MdiParent = this;
            frmpostulante.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regPersonPostulante_Click(object sender, EventArgs e)
        {
            FrmMttoPostulante frmmttopostulante = new FrmMttoPostulante();
            frmmttopostulante.NuevoPostulante();
            frmmttopostulante.MdiParent = this;
            frmmttopostulante.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busCliente_Click(object sender, EventArgs e)
        {
            FrmCliente frmcliente = new FrmCliente();
            frmcliente.currentUsuarioCliente = currentUsuario;
            frmcliente.MdiParent = this;
            frmcliente.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regCliente_Click(object sender, EventArgs e)
        {
            FrmMttoCliente frmmttocliente = new FrmMttoCliente();
            frmmttocliente.NuevoCliente();
            frmmttocliente.MdiParent = this;
            frmmttocliente.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busProyecto_Click(object sender, EventArgs e)
        {
            FrmProyecto frmproyectos = new FrmProyecto();
            frmproyectos.currentUsuarioProyecto = currentUsuario;
            frmproyectos.MdiParent = this;
            frmproyectos.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regProecto_Click(object sender, EventArgs e)
        {
            FrmMttoProyecto frmmttoproyecto = new FrmMttoProyecto();
            frmmttoproyecto.AddProyecto();
            frmmttoproyecto.MdiParent = this;
            frmmttoproyecto.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTRegistro_Click(object sender, EventArgs e)
        {
            //FrmTRegistro frmtregistro = new FrmTRegistro();
            //frmtregistro.MdiParent = this;
            //frmtregistro.Show();
            FrmTareos frmTareo = new FrmTareos();
            frmTareo.MdiParent = this;
            if (currentUsuario != null)
            {
                frmTareo.dni = currentUsuario.TRABAJADOR.PERSONA.Dni;
                frmTareo.IdTrabajor = currentUsuario.TRABAJADOR.PERSONA.IdPersona;
            }
            else
            {
                frmTareo.dni = "";
                frmTareo.IdTrabajor = 0;
            }
            frmTareo.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busDHabinete_Click(object sender, EventArgs e)
        {
            FrmDerechoHabiente frmderechohabiente = new FrmDerechoHabiente();
            frmderechohabiente.MdiParent = this;
            frmderechohabiente.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busActualizacion_Click(object sender, EventArgs e)
        {
            FrmHistorialCambiosTrabajador frmhistorialcambiostrabajador = new FrmHistorialCambiosTrabajador();
            frmhistorialcambiostrabajador.MdiParent = this;
            frmhistorialcambiostrabajador.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busUbigeo_Click(object sender, EventArgs e)
        {
            FrmUbigeo frmubigeo = new FrmUbigeo();
            frmubigeo.currentUsuarioUbigeo = currentUsuario;
            frmubigeo.MdiParent = this;
            frmubigeo.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regUbigeo_Click(object sender, EventArgs e)
        {
            FrmMttoUbigeo frmmttoubigeo = new FrmMttoUbigeo();
            frmmttoubigeo.NuevoUbigeo();
            frmmttoubigeo.MdiParent = this;
            frmmttoubigeo.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busRural_Click(object sender, EventArgs e)
        {
            FrmRural frmrural = new FrmRural();
            frmrural.currentUsuarioRural = currentUsuario;
            frmrural.MdiParent = this;
            frmrural.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regRural_Click(object sender, EventArgs e)
        {
            FrmMttoRural frmmttorural = new FrmMttoRural();
            frmmttorural.NuevoRural();
            frmmttorural.MdiParent = this;
            frmmttorural.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busBanco_Click(object sender, EventArgs e)
        {
            FrmBanco frmbanco = new FrmBanco();
            frmbanco.currentUsuarioBanco = currentUsuario;
            frmbanco.MdiParent = this;
            frmbanco.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regBanco_Click(object sender, EventArgs e)
        {
            FrmMttoBanco frmmttobanco = new FrmMttoBanco();
            frmmttobanco.NuevoBanco();
            frmmttobanco.MdiParent = this;
            frmmttobanco.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busSociedades_Click(object sender, EventArgs e)
        {
            FrmSocio frmsocio = new FrmSocio();
            frmsocio.currentUsuarioSocio = currentUsuario;
            frmsocio.MdiParent = this;
            frmsocio.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regSociedades_Click(object sender, EventArgs e)
        {
            FrmMttoSocio frmmttosocio = new FrmMttoSocio();
            frmmttosocio.NuevaSocio();
            frmmttosocio.MdiParent = this;
            frmmttosocio.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busECivil_Click(object sender, EventArgs e)
        {
            FrmEstadoCivil frmestadocivil = new FrmEstadoCivil();
            frmestadocivil.currentUsuarioEstadoCivil = currentUsuario;
            frmestadocivil.MdiParent = this;
            frmestadocivil.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regECivil_Click(object sender, EventArgs e)
        {
            FrmMttoEstadoCivil frmmttoestadocivil = new FrmMttoEstadoCivil();
            frmmttoestadocivil.NuevoEstadoCivil();
            frmmttoestadocivil.MdiParent = this;
            frmmttoestadocivil.Show();
            radRibbonBar1.Expanded = false;
        }


        private void busCategoria_Click(object sender, EventArgs e)
        {
            FrmCategoria frmcategoria = new FrmCategoria();
            frmcategoria.currentUsuarioCategoria = currentUsuario;
            frmcategoria.MdiParent = this;
            frmcategoria.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regCategoria_Click(object sender, EventArgs e)
        {
            FrmMttoCategoria frmmttocategoria = new FrmMttoCategoria();
            frmmttocategoria.NuevaCategoria();
            frmmttocategoria.MdiParent = this;
            frmmttocategoria.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busEspecialidades_Click(object sender, EventArgs e)
        {
            FrmEspecialidad frmespecialidad = new FrmEspecialidad();
            frmespecialidad.currentUsuarioEspecialidad = currentUsuario;
            frmespecialidad.MdiParent = this;
            frmespecialidad.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regEspecialidades_Click(object sender, EventArgs e)
        {
            FrmMttoEspecialidad frmmttoespecialidad = new FrmMttoEspecialidad();
            frmmttoespecialidad.NuevaEspecialidad();
            frmmttoespecialidad.MdiParent = this;
            frmmttoespecialidad.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTSancion_Click(object sender, EventArgs e)
        {
            FrmTipoSancion frmtiposancion = new FrmTipoSancion();
            frmtiposancion.currentUsuarioTipoSancion = currentUsuario;
            frmtiposancion.MdiParent = this;
            frmtiposancion.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTSancion_Click(object sender, EventArgs e)
        {
            FrmMttoTipoSancion frmmttotiposancion = new FrmMttoTipoSancion();
            frmmttotiposancion.NuevoTipoSancion();
            frmmttotiposancion.MdiParent = this;
            frmmttotiposancion.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTPersonal_Click(object sender, EventArgs e)
        {
            FrmTipoPersonal frmtipopersonal = new FrmTipoPersonal();
            frmtipopersonal.currentUsuarioTipoPersonal = currentUsuario;
            frmtipopersonal.MdiParent = this;
            frmtipopersonal.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTPersonal_Click(object sender, EventArgs e)
        {
            FrmMttoTipoPersonal frmmttotipopersonal = new FrmMttoTipoPersonal();
            frmmttotipopersonal.NuevoTipoPersonal();
            frmmttotipopersonal.MdiParent = this;
            frmmttotipopersonal.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTPermiso_Click(object sender, EventArgs e)
        {
            FrmTipoPermiso frmtipopermiso = new FrmTipoPermiso();
            frmtipopermiso.currentUsuarioTipoPermiso = currentUsuario;
            frmtipopermiso.MdiParent = this;
            frmtipopermiso.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTPermiso_Click(object sender, EventArgs e)
        {
            FrmMttoTipoPermiso frmmttotipopermiso = new FrmMttoTipoPermiso();
            frmmttotipopermiso.NuevoTipoPermiso();
            frmmttotipopermiso.MdiParent = this;
            frmmttotipopermiso.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busSexo_Click(object sender, EventArgs e)
        {
            FrmSexo frmsexo = new FrmSexo();
            frmsexo.currentUsuarioSexo = currentUsuario;
            frmsexo.MdiParent = this;
            frmsexo.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regSexo_Click(object sender, EventArgs e)
        {
            FrmMttoSexo frmmttosexo = new FrmMttoSexo();
            frmmttosexo.NuevoSexo();
            frmmttosexo.MdiParent = this;
            frmmttosexo.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busRPAfp_Click(object sender, EventArgs e)
        {
            FrmRegimenPensionario frmregimenpensionario = new FrmRegimenPensionario();
            frmregimenpensionario.currentUsuarioRegimenPensionario = currentUsuario;
            frmregimenpensionario.MdiParent = this;
            frmregimenpensionario.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regRPAfp_Click(object sender, EventArgs e)
        {
            FrmMttoRegimenPensionario frmmttoregimenpensionario = new FrmMttoRegimenPensionario();
            frmmttoregimenpensionario.Nuevo();
            frmmttoregimenpensionario.MdiParent = this;
            frmmttoregimenpensionario.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busVFamiliar_Click(object sender, EventArgs e)
        {
            FrmVinculoFamiliar frmvinculofamiliar = new FrmVinculoFamiliar();
            frmvinculofamiliar.currentUsuarioVinculoFamiliar = currentUsuario;
            frmvinculofamiliar.MdiParent = this;
            frmvinculofamiliar.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regVfamiliar_Click(object sender, EventArgs e)
        {
            FrmMttoVinculoFamiliar frmmttovinculofamiliar = new FrmMttoVinculoFamiliar();
            frmmttovinculofamiliar.NuevaVinculoFamiliar();
            frmmttovinculofamiliar.MdiParent = this;
            frmmttovinculofamiliar.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busDSustenta_Click(object sender, EventArgs e)
        {
            FrmDocumentoSustenta frmdocumentosustenta = new FrmDocumentoSustenta();
            frmdocumentosustenta.currentUsuarioDocumentosSustenta = currentUsuario;
            frmdocumentosustenta.MdiParent = this;
            frmdocumentosustenta.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regDSustenta_Click(object sender, EventArgs e)
        {
            FrmMttoDocumentoSustenta frmmttodocumentosustenta = new FrmMttoDocumentoSustenta();
            frmmttodocumentosustenta.NuevoDocumentoSustenta();
            frmmttodocumentosustenta.MdiParent = this;
            frmmttodocumentosustenta.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busUbicacion_Click(object sender, EventArgs e)
        {
            FrmUbicacionTrabajador frmubicacion = new FrmUbicacionTrabajador();
            frmubicacion.currentUsuarioUbicacionTrabajador = currentUsuario;
            frmubicacion.MdiParent = this;
            frmubicacion.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regUbicacion_Click(object sender, EventArgs e)
        {
            FrmMttoUbicacionTrabajador frm = new FrmMttoUbicacionTrabajador();
            frm.NuevaUbicacionTrabajador();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTTrabajador_Click(object sender, EventArgs e)
        {
            FrmTipoTrabajador frmtipotrabajador = new FrmTipoTrabajador();
            frmtipotrabajador.currentUsuarioTipoTrabajador = currentUsuario;
            frmtipotrabajador.MdiParent = this;
            frmtipotrabajador.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTTrabajador_Click(object sender, EventArgs e)
        {
            FrmMttoTipoTrabajador frmmttotipotrabajador = new FrmMttoTipoTrabajador();
            frmmttotipotrabajador.NuevaTipoTrabajador();
            frmmttotipotrabajador.MdiParent = this;
            frmmttotipotrabajador.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTPago_Click(object sender, EventArgs e)
        {
            FrmTipoPago frmtipopago = new FrmTipoPago();
            frmtipopago.currentUsuarioTipoPago = currentUsuario;
            frmtipopago.MdiParent = this;
            frmtipopago.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTPago_Click(object sender, EventArgs e)
        {
            FrmMttoTipoPago frmmttotipopago = new FrmMttoTipoPago();
            frmmttotipopago.NuevoTipoPago();
            frmmttotipopago.MdiParent = this;
            frmmttotipopago.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTContrato_Click(object sender, EventArgs e)
        {
            FrmTipoContrato frmtipocontrato = new FrmTipoContrato();
            frmtipocontrato.currentUsuarioTipoContrato = currentUsuario;
            frmtipocontrato.MdiParent = this;
            frmtipocontrato.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTContrato_Click(object sender, EventArgs e)
        {
            FrmMttoTipoContrato frmmttotipocontrato = new FrmMttoTipoContrato();
            frmmttotipocontrato.NuevaTipoContrato();
            frmmttotipocontrato.MdiParent = this;
            frmmttotipocontrato.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busRSalud_Click(object sender, EventArgs e)
        {
            FrmRegimenSalud frmregimensalud = new FrmRegimenSalud();
            frmregimensalud.currentUsuarioRegimenSalud = currentUsuario;
            frmregimensalud.MdiParent = this;
            frmregimensalud.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regRSalud_Click(object sender, EventArgs e)
        {
            FrmMttoRegimenSalud frmmttoregimensalud = new FrmMttoRegimenSalud();
            frmmttoregimensalud.NuevoRegimenSalud();
            frmmttoregimensalud.MdiParent = this;
            frmmttoregimensalud.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busOcupacion_Click(object sender, EventArgs e)
        {
            FrmOcupacion frmocupacion = new FrmOcupacion();
            frmocupacion.currentUsuarioOcupacion = currentUsuario;
            frmocupacion.MdiParent = this;
            frmocupacion.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regOcupacion_Click(object sender, EventArgs e)
        {
            FrmMttoOcupacion frmmttoocupacion = new FrmMttoOcupacion();
            frmmttoocupacion.NuevaOcupacion();
            frmmttoocupacion.MdiParent = this;
            frmmttoocupacion.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busMFPeriodo_Click(object sender, EventArgs e)
        {
            FrmMotivoFinPeriodo frmmotivofinperido = new FrmMotivoFinPeriodo();
            frmmotivofinperido.currentUsuarioMotivoFinPeriodo = currentUsuario;
            frmmotivofinperido.MdiParent = this;
            frmmotivofinperido.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regMFPeriodo_Click(object sender, EventArgs e)
        {
            FrmMttoMotivoFinPeriodo frmmttomotivofinperiodo = new FrmMttoMotivoFinPeriodo();
            frmmttomotivofinperiodo.Nuevo();
            frmmttomotivofinperiodo.MdiParent = this;
            frmmttomotivofinperiodo.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busEPSalud_Click(object sender, EventArgs e)
        {
            FrmEntidadPrestadoraSalud frmentidadprestadorasalud = new FrmEntidadPrestadoraSalud();
            frmentidadprestadorasalud.currentUsuarioEntidadPrestadoraSalud = currentUsuario;
            frmentidadprestadorasalud.MdiParent = this;
            frmentidadprestadorasalud.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regEPSalud_Click(object sender, EventArgs e)
        {
            FrmMttoEntidadPrestadoraSalud frmmttoentidadprestadorasalud = new FrmMttoEntidadPrestadoraSalud();
            frmmttoentidadprestadorasalud.Nuevo();
            frmmttoentidadprestadorasalud.MdiParent = this;
            frmmttoentidadprestadorasalud.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busPPAgo_Click(object sender, EventArgs e)
        {
            FrmPeriodoPago frmperiododepago = new FrmPeriodoPago();
            frmperiododepago.currentUsuarioPeriodoPago = currentUsuario;
            frmperiododepago.MdiParent = this;
            frmperiododepago.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regPPago_Click(object sender, EventArgs e)
        {
            FrmMttoPeriodoPago frmmttoperiododepago = new FrmMttoPeriodoPago();
            frmmttoperiododepago.NuevoPeriodo();
            frmmttoperiododepago.MdiParent = this;
            frmmttoperiododepago.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busRLaboral_Click(object sender, EventArgs e)
        {
            FrmRegimenLaboral frmregimenlaboral = new FrmRegimenLaboral();
            frmregimenlaboral.currentUsuarioRegimenLaboral = currentUsuario;
            frmregimenlaboral.MdiParent = this;
            frmregimenlaboral.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regRLaboral_Click(object sender, EventArgs e)
        {
            FrmMttoRegimenLaboral frmmttoregimenlaboral = new FrmMttoRegimenLaboral();
            frmmttoregimenlaboral.NuevoRegimenLaboral();
            frmmttoregimenlaboral.MdiParent = this;
            frmmttoregimenlaboral.Show();
            radRibbonBar1.Expanded = false;
        }

        private void radMenuItem1_Click(object sender, EventArgs e)
        {
            FrmLogin frm = new FrmLogin();
            frm.Show();
            this.Hide();
        }

        private void radMenuItem2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void busLiquidacion_Click(object sender, EventArgs e)
        {
            FrmLiquidacionesPendientes frm = new FrmLiquidacionesPendientes();
            frm.currentUsuarioLiquidacion = currentUsuario;
            frm.IdTrabajador = currentUsuario.TRABAJADOR.PERSONA.IdPersona;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regLiquidacion_Click(object sender, EventArgs e)
        {
            FrmMttoLiquidacion frm = new FrmMttoLiquidacion();
            frm.NuevaLiquidacion();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busAsistencia_Click(object sender, EventArgs e)
        {
            //FrmControlAsistencia frm = new FrmControlAsistencia();
            //frm.MdiParent = this;
            //frm.Show();
            //radRibbonBar1.Expanded = false;
        }

        private void busTrabCargo_Click(object sender, EventArgs e)
        {
            //FrmExperienciaPostulanteOpciones frmexperienciapostulante = new FrmExperienciaPostulanteOpciones();
            //frmexperienciapostulante.MdiParent = this;
            //frmexperienciapostulante.Show();
            //radRibbonBar1.Expanded = false;
        }

        private void busVacaciones_Click(object sender, EventArgs e)
        {
            FrmVacaciones frm = new FrmVacaciones();
            //frm.currentUsuarioVacaciones = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regVacaciones_Click(object sender, EventArgs e)
        {
            FrmMttoVacaciones frm = new FrmMttoVacaciones();
            //frm.NuevasVacaciones();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        public void mostrarVencimeintos()
        {
            if (dtpFechaSistema.Value.Day >= 13 && dtpFechaSistema.Value.Day <= 17 
                || dtpFechaSistema.Value.Day >= 28 && dtpFechaSistema.Value.Day <= 31 
                || dtpFechaSistema.Value.Day >= 1 && dtpFechaSistema.Value.Day <= 3)
            {
                FrmLiquidacionesPendientes frm = new FrmLiquidacionesPendientes();
                //frm.contratVence();
                frm.dni = dni;
                frm.MdiParent = this;
                frm.Show();
            }
        }

        public void mostrarLiquidaciones()
        {
            var usuario = usuarioBL.GetAllFromUsuarioByPersonaId(dni);
            
            if (usuario != null)
            {
                if (usuario.VerLiquidaciones)
                {
                    var hoja = liquidacionBL.ListaLiquidacion(usuario.IdAreaLiquidacion);

                    if (hoja.Count > 0)
                    {
                        //Cargamos el FRM
                        var frm = new FrmContratosEnLiquidacion();
                        frm.alertaLiquidacion = true;
                        frm.IdAreaLiquidacion = usuario.IdAreaLiquidacion;
                        frm.dni = usuario.TRABAJADOR.PERSONA.Dni;
                        frm.IdTrabajador = usuario.TRABAJADOR.PERSONA.IdPersona;
                        frm.MdiParent = this;
                        frm.Show();
                    }
                }
            }
        }

        public void mostrarLiquidacionesObrero()
        {
            var usuario = usuarioBL.GetAllFromUsuarioByPersonaId(dni);
            if (usuario != null)
            {
                if (usuario.VerLiquidaciones)
                {
                    var hoja = hojaBL.ListaLiquidacionObrero(usuario.IdAreaLiquidacion);

                    if (hoja.Count > 0)
                    {
                        //Cargamos el FRM
                        var frm = new FrmContratosEnLiquidacionObreros();
                        frm.alertaLiquidacion = true;
                        frm.IdAreaLiquidacion = usuario.IdAreaLiquidacion;
                        frm.dni = usuario.TRABAJADOR.PERSONA.Dni;
                        frm.IdTrabajador = usuario.TRABAJADOR.PERSONA.IdPersona;
                        frm.MdiParent = this;
                        frm.Show();
                    }
                }
            }
        }

        private void busEstudios_Click(object sender, EventArgs e)
        {
            FrmEstudio frm = new FrmEstudio();
            frm.currentUsuarioEstudio = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regEstudios_Click(object sender, EventArgs e)
        {
            FrmMttoEstudio frm = new FrmMttoEstudio();
            frm.NuevoEstudio();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busContrato_Click(object sender, EventArgs e)
        {
            FrmContrato frm = new FrmContrato();
            frm.currentUsuarioContrato = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regContrato_Click(object sender, EventArgs e)
        {
            FrmMttoContrato frm = new FrmMttoContrato();
            frm.NuevoContrato();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busLineTelefonica_Click(object sender, EventArgs e)
        {
            FrmLineaTelefonica frm = new FrmLineaTelefonica();
            frm.currentUsuarioLineaTelefonica = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regLineaTelefonica_Click(object sender, EventArgs e)
        {
            FrmMttoLineaTelefonica frm = new FrmMttoLineaTelefonica();
            frm.Nuevo();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busDocumento_Click(object sender, EventArgs e)
        {
            //FrmDocumento frm = new FrmDocumento();
            //frm.currentUsuarioDocumentos = currentUsuario;
            //frm.MdiParent = this;
            //frm.Show();
            //radRibbonBar1.Expanded = false;
        }

        private void regDocumento_Click(object sender, EventArgs e)
        {
            //FrmMttoDocumento frm = new FrmMttoDocumento();
            //frm.NuevoDocumento();
            //frm.MdiParent = this;
            //frm.Show();
            //radRibbonBar1.Expanded = false;
        }

        private void busExpediente_Click(object sender, EventArgs e)
        {
        }

        private void regExpediente_Click(object sender, EventArgs e)
        {

        }

        private void busTipoSocio_Click(object sender, EventArgs e)
        {
            FrmTipoSocio frm = new FrmTipoSocio();
            frm.currentUsuarioTipoSocio = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTipoSocio_Click(object sender, EventArgs e)
        {
            FrmMttoTipoSocio frm = new FrmMttoTipoSocio();
            frm.NuevoTipoSocio();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busSancion_Click(object sender, EventArgs e)
        {
            FrmSanciones frm = new FrmSanciones();
            frm.currenteUsuarioSanciones = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regSancion_Click(object sender, EventArgs e)
        {
            FrmMttoSanciones frm = new FrmMttoSanciones();
            frm.NuevoSancion();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busPadre_Click(object sender, EventArgs e)
        {
            FrmPadre frm = new FrmPadre();
            frm.currentUsuarioPadre = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regPadre_Click(object sender, EventArgs e)
        {
            FrmMttoPadre frm = new FrmMttoPadre();
            frm.NuevoPadre();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busGrado_Click(object sender, EventArgs e)
        {
            FrmGrado frm = new FrmGrado();
            frm.currentUsuarioGrado = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regGrado_Click(object sender, EventArgs e)
        {
            FrmMttoGrado frm = new FrmMttoGrado();
            frm.NuevoGrado();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busReferencia_Click(object sender, EventArgs e)
        {
            FrmReferencia frm = new FrmReferencia();
            frm.currentUsuarioReferencia = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regReferencia_Click(object sender, EventArgs e)
        {
            FrmMttoReferencia frm = new FrmMttoReferencia();
            frm.NuevoReferencia();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busAreaContrato_Click(object sender, EventArgs e)
        {
            FrmAreaContrato frm = new FrmAreaContrato();
            frm.currentUsuarioAreaContrato = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regAreaContrato_Click(object sender, EventArgs e)
        {
            FrmMttoAreaContrato frm = new FrmMttoAreaContrato();
            frm.NuevoAreaContrato();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busAreaLiquidacion_Click(object sender, EventArgs e)
        {
            FrmAreaLiquidacion frm = new FrmAreaLiquidacion();
            frm.currentUsuarioAreaLiquidacion = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regAreaLiquidacion_Click(object sender, EventArgs e)
        {
            FrmMttoAreaLiquidacion frm = new FrmMttoAreaLiquidacion();
            frm.Nuevo();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busContratoObrero_Click(object sender, EventArgs e)
        {
            FrmContratosObreros frm = new FrmContratosObreros();
            frm.currentUsuarioContrato = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busContratoStaff_Click(object sender, EventArgs e)
        {
            FrmContratoStaff frm = new FrmContratoStaff();
            frm.currentUsuarioContrato = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void cambiarContraseña_Click(object sender, EventArgs e)
        {
            if (currentUsuario != null)
            {
                FrmCambiarContraseña frm = new FrmCambiarContraseña();
                frm._usuario = currentUsuario;
                frm.EditarUsuario();
                frm.ShowDialog();
            }
            else
            {
                MessageBox.Show("Debe Iniciar Sesión", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void busUsuario_Click(object sender, EventArgs e)
        {
            FrmUsuario frm = new FrmUsuario();
            frm.currentUsuarioUsuario = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regUsuario_Click(object sender, EventArgs e)
        {
            FrmMttoUsuario frm = new FrmMttoUsuario();
            frm.Nuevo();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busRol_Click(object sender, EventArgs e)
        {
            FrmRol frm = new FrmRol();
            frm.currentUsuarioRol = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regRol_Click(object sender, EventArgs e)
        {
            FrmMttoRol frm = new FrmMttoRol();
            frm.NuevoRol();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTipoGestion_Click(object sender, EventArgs e)
        {
            FrmTipoGestion frm = new FrmTipoGestion();
            frm.currentUsuarioTipoGestion = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regTipoGestion_Click(object sender, EventArgs e)
        {
            FrmMttoTipoGestion frm = new FrmMttoTipoGestion();
            frm.NuevoTipoGestion();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busCapacitacion_Click(object sender, EventArgs e)
        {
            FrmCapacitacion frm = new FrmCapacitacion();
            frm.currentUsuarioCapacitaciones = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regCapacitacion_Click(object sender, EventArgs e)
        {
            FrmMttoCapacitacion frm = new FrmMttoCapacitacion();
            frm.NuevaCapacitacion();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busUbicacionProyecto_Click(object sender, EventArgs e)
        {
            FrmUbicacionProyecto frm = new FrmUbicacionProyecto();
            frm.currentUsuarioUbicacionProyecto = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regUbicacionProyecto_Click(object sender, EventArgs e)
        {
            FrmMttoUbicacionProyecto frm = new FrmMttoUbicacionProyecto();
            frm.Nuevo();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busAreaContacto_Click(object sender, EventArgs e)
        {
            FrmContactoProyecto frm = new FrmContactoProyecto();
            frm.currentUsuarioContactoProyecto = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void regAreaContacto_Click(object sender, EventArgs e)
        {
            FrmMttoContactoProyecto frm = new FrmMttoContactoProyecto();
            frm.NuevoContacto();
            frm.MdiParent=this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void radRibbonBar1_Click(object sender, EventArgs e)
        {

        }

        private void btnBuscarCondicion_Click(object sender, EventArgs e)
        {
            frmBusquedaCondicion frm = new frmBusquedaCondicion();
            frm.currentUsuariCondicion = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busExperiencia_Click(object sender, EventArgs e)
        {
            frmBusquedaExperiencia frm = new frmBusquedaExperiencia();
            frm.currentUsuarioExperiencia = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busTipoCondicion_Click(object sender, EventArgs e)
        {
            frmTipoCondicion frm = new frmTipoCondicion();
            frm.currentUsuarioTipoCondicion = currentUsuario;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void nuevoTipoCondicion_Click(object sender, EventArgs e)
        {
            frmMttoTipoCondicion frm = new frmMttoTipoCondicion();
            frm.currentUsuarioTipoCondicion = currentUsuario;
            frm.NuevoTipoCondicion();
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }

        private void busProcLiquidacion_Click(object sender, EventArgs e)
        {
            var frm = new FrmContratosEnLiquidacion();
            frm.currentUsuarioCL = currentUsuario;
            frm.dni = currentUsuario.TRABAJADOR.PERSONA.Dni;
            frm.MdiParent = this;
            frm.Show();
            radRibbonBar1.Expanded = false;
        }


    }
}
